Towards Crosscutting Metrics for Aspect-Based Features
نویسنده
چکیده
Features are increments in program functionality and are the building blocks of product lines. Typical implementation of features using Object Oriented techniques commonly crosscuts several classes and interfaces. There exist many techniques that implement crosscuts, of which Aspect Oriented ones distinguish themselves by their support of dynamic crosscuts expressed with advice. Despite being a core tenet of AOP, very little attention has been paid to measuring crosscuts and how they are implemented by different language constructs in particular advice. In this paper we present a semi-formal definition of a set of basic metrics to measure crosscutting in features that use aspects. Our metrics categorize features within a crosscutting spectrum that ranges from heterogeneous to homogeneous according to the relative number and types of crosscuts features implement. This categorization helps assessing the actual use of aspects for feature implementation and provides a quantitative framework to gauge at and analyze the impact of aspects for product line development. We apply our metrics to a nontrivial product line case study implemented using AspectJ and relate our results to the ongoing assessment of aspects vs. collaboration-based designs for feature implementation.
منابع مشابه
Measuring and Characterizing Crosscutting in Aspect-Based Programs: Basic Metrics and Case Studies
Aspects are defined as well-modularized crosscutting concerns. Despite being a core tenet of Aspect Oriented Programming, little research has been done in characterizing and measuring crosscutting concerns. Some of the issues that have not been fully explored are: What kinds of crosscutting concerns exist? What language constructs do they use? And what is the impact of crosscutting in actual As...
متن کاملTowards Assessing the Impact of Crosscutting Concerns on Modularity
The goal of aspect-oriented programming is to modularize crosscutting concerns. To fully appreciate this goal, we must first understand how crosscutting concerns affect modularity and software quality, and to what extent. This is hard to quantify, partly because terms such as “crosscutting”, “concern”, and “modularity” are ill-defined [11] [1], and partly because the scope of the crosscutting c...
متن کاملDetermining Threshold of Aspect-Oriented Software Metrics
Threshold of software metrics can be used as indicators to identify possible anomalies in software. Aspect-Oriented (AO) Programming is a new programming paradigm that solved the crosscutting problem by decomposes the crosscutting concern in aspect module. Establishing the threshold of AO software metrics in order to identify anomalies in AO software is necessary. The Gang-of-Four (GoF) pattern...
متن کاملA Cohesion Measure for Aspects
Aspect-Oriented Software Development is a promising new software engineering paradigm. It promotes, in particular, improved separation of crosscutting concerns into single units called aspects. AspectJ, the most used aspect-oriented programming language, represents an extension of Java. In fact, existing objectoriented programming languages suffer from a serious limitation in modularizing adequ...
متن کاملImproving Software Modularity through Crosscutting Concern Extraction
Aspect-oriented programming (AOP) is a programming paradigm for improving the modularity of software systems by localizing crosscutting concerns in the system into aspects. Aspect-oriented refactorings extend AOP to legacy systems, by identifying and encapsulating existing crosscutting concerns through aspect-mining (discovery of crosscutting concerns) and aspect refactoring (semantic-preservin...
متن کامل